Packet switches capable of receiving a packet, determining a destination port for the packet, and forwarding the packet to a destination port are the foundation of packet networks. In performing this function, packet switches generally do not examine in detail the contents of the packets they switch. Instead, packet switches typically learn just enough about a packet to enable the packet switch to forward the packet to the correct destination port(s).
Packet switches do examine some packets more closely, however. For example, a packet switch may receive a control frame addressed to the packet switch itself. The packet switch may fully examine the control frame and make behavior or configuration changes based on the contents of the control frame. Similarly, the packet switch may examine Internet Group Management Protocol (IGMP) packets in detail to monitor the state of one or more multicast groups accommodated by the packet switch. Once the packet switch has examined the contents of the IGMP packet, it may then forward the IGMP packet on to a destination port.
To examine a particular packet in detail, the packet switch typically sends the packet to a control plane portion of the packet switch. The control plane often comprises a microprocessor capable of examining the contents of the packet. Once the control plane has examined the packet in detail, if the packet is addressed to a device other than the packet switch itself, the control plane forwards the packet to a data plane portion of the packet switch. The data plane examines the packet, determines a destination port for the packet, and forwards the packet to the destination port.
Packet switches typically include a filter that determines on a packet-by-packet basis whether to forward a packet to the data plane or to the control plane. Conventional filters unnecessarily send some packets to the control plane that the packet switch does not need to examine in detail. For example, conventional filters send control frames associated with a network tunnel to the control plane. Since the control frames are associated with a network tunnel, the control plane does not act on them. Instead, the control plane identifies them as tunneled control frames and forwards them on to the data plane. Since the control plane examines packets in detail, packets handled by both the control plane and the data plane experience greater latency and jitter than packets handled only by the data plane.